@database "BetterStartup.guide" @$VER: BetterStartup.guide 1.0 (26.3.95) @(c) 1995 Jan Skypala of Better Software @smartwrap @node "Main" BetterStartup.guide @{jcenter} @{fg shine}@{b}BetterStartup@{ub}@{fg text}@{line} release 1.0@{line} 1995 Jan Sk pala@{line} @{jleft}@{" Introduction " link intro } - Really small info about the program@{line} @{" Description " link descript } - More indeep description@{line} @{" Legal stuff " link shareware } - Can I give it to my friend?@{line} @{" Registering " link register } - Yes, I'll support the author!@{line} @{" Disclaimer " link disclaimer } - The known ugly stuff@{line} @{" Requirements " link requirements } - What to own to be able to use the program@{line} @{" Instalation " link install } - What to do so I can use it all the time@{line} @{" Usage " link usage } - How to call the program@{line} @{" Interface " link gui } - How to click on gadgets@{line} @{" Script " link script } - Do what I want @{b}---the most important---@{ub}@{line} @{" Notes " link notes } - some notes@{line} @{" Credits " link credits } - the people I feel to thank them@{line} @{" History " link history } - some info about the past@{line} @{" Future " link future } - that will happen in the worst case@{line} @{" Author " link author } - who is that bastard that wrote it!@{line} You can have some difficulties with reading this guide if you have not AmigaGuide or Multiview v40 (in Workbench 3.1) or better. This document is using new AmigaGuide command \@smartwrap for word wrapping that makes the document not look nice in previous versions, but still much more readable that with using older command \@wordwrap. @endnode @node intro "Introduction into BetterStartup program" @{b}Introduction@{ub}@{line} So BetterStartup is another Boot menu like utility. But don't stop reading now, continue, because (I hope) you'll find it's slightly different from the others.@{line} @{i}First:@{ui} It is short (because it is fully written in assembler).@{line} @{i}Second:@{ui} It offers you very nice GUI (IMHO), trying to match both Workbench Early Startup Menu and my personal feelings as much as possible.@{line} @{i}Third:@{ui} It offers you not only choices (buttons), but also some options (checkboxes - for starting residents, patches) - I don't know about the second one to have this feature.@{line} @{i}Fourth:@{ui} Unlike many other similar programs more than one command can be provided with each choice/option.@{line} @{i}Fifth:@{ui} It can avoid opening GUI procceeding the first choice as the default. If this option is on then bringing GUI on is as simple as keeping LMB pressed.@{line} @{i}Sixth:@{ui} It also contains some patches and utils inside.@{line} @{i}Seventh:@{ui} It can completely replace your startup-sequence script (well nearly, SetPatch and Path should be started in there). @endnode @node descript "Description of BetterStartup program" @{b}Description@{ub}@{line} If you are rich and you have enough money to buy 10MB of RAM there is probably no case you get the @{b}Not enough memory@{ub} messages. But if you are not and you won't have the money in short time, you are maybe thinking about utility to offer you several boot possibilities, where you can make ideal setups for selected applications. And if you searched through Internet you probably found several of them (e.g. Bootselector, Startup-Menu etc.). And maybe you found the same dislikes that I did: usualy they are too long, offer too little and look quite ugly. So here comes the one that tries to solve the problem forever.@{line} BetterStartup is fully written in assembler, so it's small size. Well you can say 7 kB is quite a lot, but BetterStartup is not only boot menu - menu part is about 3 kB. As it is written in the BetterStartup.readme file the program is definitive booting utility - it also contains several fine patches. And BetterStartup doesn't only offers you boot choices and patches, but it is the first boot menu with options also! So I think for what it offers it's very short.@{line} IMHO BetterStartup has also very nice look. If you want to get idea before trying just look at the @{"picture" link "BetterStartup.ilbm/main"} distributed in this archive. It's up to you to decide.@{line} I played with BetterStartup a lot and I will continue. The point I want to reach is that it is not free of charge. I ask you some money for it. I hope you find the program of every boot use and the fee of small amount. Thank you for supporting Amiga shareware market. @endnode @node shareware "So is it free or not?" @{b}Legal stuff and shareware info@{ub}@{line} BetterStartup and the related files are copyright 1995 Jan Skypala@{line} _asl.library is copyright 1995 Jan Skypala@{line} You can distribute this archive for no or nominal fee, but you have to include all the files - the program, documentation, pictures, _asl.library and sample script. The archive may be placed on CD-ROMs, magazine coverdisks. I would be glad to get the CD-ROM or magazine if my program is there (so I don't have to pay for my work).@{line} The paragraph above is not applicable for beta releases. You must not distribute beta releases in any way.@{line} The software is divided into several categories. Freeware, shareware, giftware, cardware, licenceware, commercial.@{line} Shareware programs are also splitted into two categories: the first one, obviously called 'true shareware' are full programs, just authors trust you will send them money if you use the program; the second one is somehow crippled, and at the moment you send the fee to the author, he sends you the full version or keyfile so the program has no restrictions.@{line} BetterStartup is crippled shareware. You may ask why I did it. Well I don't believe there would be more than 3 people sending me the money at all. You may also ask why I made the program shareware at all - it's so small. I don't think the length makes the price of the product, I guess the quality does. And believe me I don't expect to make any big money out of the program, all the money I get from it I will spend on other shareware programs (the ones I will do that: AmigaE, MUI, DeliTracker, ARTM etc.). So by sending the fee to me you just support the Amiga Shareware market, because I will feel I've got to work harder on the program and the people who will get the money from me also.@{line} BetterStartup is crippled in the way it offers you only first two choices and first two options. At the moment I get the money from you I'll send you the so-called keyfile that will unlock you all the versions up to the future. You must not distribute the keyfile - it's for your personal use only. You may make a backup of keyfile. There is your name and address in the keyfile, so I'll know you, if you spread your keyfile to the world.@{line} I tried to make the fee enough low to pay the cost of the post and to save some money for my shareware fees. So the prices are: US $10, 10 or 15 DM. I accept banknotes only. I don't accept any kind of cheques, only cash. If you want to protect money in the envelope then put it into aluminium folio.@{line} There are two ways of getting the keyfile:@{line} - through Internet - it's very fast (probably you will have the file within 24 hours from the moment I got the money). If you decide for this option and you have PGP, please send me your public code, I would like to encrypt keyfile for sending. Anyway if you don't have PGP, I will send it just uuencoded. If you decide for this way of obtaining keyfile you may also wish to be informed about or get new release to your mailbox at the moment I release it.@{line} - through snail mail - well don't expect TDK or Sony disks, they cost a lot, I will use noname ones (if you want names send five bucks more). It will also take more time to get to you and it can be even lost. Also you miss the possibility with updates.@{line} So if you decided to register, fill in the @{"form" link register} @endnode @node register "Registration form" Just print this out using Multiview Project/Print menu option, fill in and send to @{"me" link author}@{line} Yes, I want to use BetterStartup and I need more than two choices/two options, @{line} so I decided to pay the fee.@{line} My name: _______________________________________________________@{line} My address: _______________________________________________________@{line} _______________________________________________________@{line} _______________________________________________________@{line} _______________________________________________________@{line} _______________________________________________________@{line} _______________________________________________________@{line} My Internet address: _______________________________________________________@{line} I wish to get keyfile by: [ ] Internet e-mail [ ] snail mail@{line} If I decided to get keyfile via Internet:@{line} [ ] I would like to be informed to the address above about every new release@{line} [ ] I would like to get every new release to my mail box@{line} [ ] none of the actions@{line} I have sent you my PGP public key: YES / NO@{line} My comments to the program:@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} ____________________________________________________________________________@{line} Signature: _____________________________ @endnode @node disclaimer "BetterStartup - DISCLAIMER" @{B}Disclaimer@{ub}@{line} THERE IS NO WARRANTY FOR THE SOFTWARE TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.@{line} IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE SOFTWARE AS PERMITTED BELOW, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. @endnode @node requirements "BetterStartup requirements" @{b}Requirements@{ub}@{line} BetterStartup requires:@{line} Workbench 2.04+@{line} diskfont.library v36+ for running in other font that topaz.font@{line} diskfont.library for OneFont@{line} asl.library and _asl.library for OneReq (_asl.library included here)@{line} @endnode @node install "BetterStartup instalation" @{b}Instalation@{ub}@{line} The instalation of BetterStartup cannot be done through Installer utility because it requires changing startup-sequence, which Installer cannot handle. Anyway, here comes the guide for installing BetterStartup:@{line} First start Pre-Install by double clicking on its icon. It will copy BetterStartup in C: directory and create the backup of startup-sequence for the case you will decide not to use BetterStartup (the backup file will be S:startup-sequence.backup). It will also create S:BetterStartup.script file, but @{fg shine}beware@{fg text}: you'll have to make few changes in it before first use!@{line} Now start text editor (ed is enough), load S:startup-sequence and change it to just four lines according to the example:@{line} C:SetPatch QUIET@{line} C:Path SYS:Utilities SYS:Tools ;... add all paths you use@{line} C:BetterStartup NOGUI@{line} EndCLI >NIL:@{line} Save it to the disk and load S:BetterStartup.script into text editor. You'll find that it's just another copy of your original startup-sequence. OK, now delete lines where SetPatch, Path and EndCLI are run, add to the begining the lines:@{line} \@CHOICE@{line} Workbench@{line} 1@{line} and to the end:@{line} \@END@{line} and also save it to disk@{line} Well, everything is set up and if you reboot your Amiga it will reboot just like it always did. But reboot computer and keep left mouse button pressed while booting. VOILA! Simple menu will appear. One choice is not too much, but you can add more choices and also options just by editing S:BetterStartup.script file. For that see part about @{"keywords" link keywords}@{line} @{b}UnInstalling@{ub}@{line} This is easy, just start shell and type in:@{line} Delete C:BetterStartup@{line} Delete S;BetterStartup.script@{line} Copy S:Startup-sequence.backup S:Startup-sequence@{line} Delete S:Startup-sequence.backup@{line} @endnode @node usage "Running BetterStartup" @{b}Usage@{ub}@{line} BetterStartup is made for running in startup-sequence, but of course it can be called any other time also. One restriction applies: it cannot be called from Workbench, only from CLI. Template is:@{line} F=FILENAME,NOGUI/S@{line} ----------------------------------------------------------------------------@{line} F=FILENAME Specifies the name of the file to be read as script for@{line} BetterStartup. Default is S:BetterStartup.script@{line} NOGUI/S Tells BetterStartup to open GUI only if you press left mouse@{line} button (usable in startup-sequence). If this argument is@{line} not applied GUI opens always.@{line} @endnode @node gui "Graphics user interface of BetterStartup" @{b}Graphics interface@{ub}@{line} BetterStartup graphics interface can be modified by several internal commands. See @{"GUI commands" link guicommands} for them.@{line} When BetterStartup opens it's GUI you usualy see two parts: Choices above Options (there can be only choices if you specify no options in script). Now you have these possibilities:@{line} @{i}1)@{ui} Just click on one choice and it will set options into default settings for this choice and proceed itself@{line} @{i}2)@{ui} Change options into the situation you like. Now click on the choice you want to proceed. Because you changed options BetterStartup will not proceed default options settings of selected choice, but the selection you did.@{line} If you want to set options into the default settings of one choice, just press Shift and click on the choice. BetterStartup will not procced the choice, it will just set the options according to the choice and notify that you did something with options, so it will not proceed the default settings when choice is selected without a qualifier.@{line} If you changed options, but you decided to use default settings of the choice you are going to proceed, just press Alt and left mouse button on the choice. In fact it is the same as if you press Shift and click on the button, then leave Shift and click on the choice again. @endnode @node script "BetterStartup script" @{b}Script@{ub}@{line} BetterStartup gets the information from the file called script (something like startup-sequence). It is plain ascii file that you can edit in any text editor. Each line contains one command. Most of the commands don't care about spaces - you can make any number of spaces between words and behind the last one, but some do care, so to be sure make one space between words and no space behind the last one on the line. If you want to find those exceptions start trying.@{line} There are several command types:@{line} - line starting with @{b};@{ub} is comment@{line} - line starting with @{b}\@@{ub} or @{b}&@{ub} is @{"keyword" link keywords} of BetterStartup@{line} - line starting with @{b}#@{ub} is @{"internal command" link icommands} of BetterStartup@{line} - all other lines are understood as AmigaDOS commands and are passed to AmigaDOS@{line} Recommended structure of script:@{line} Commands to be run everytime@{line} Commands to be run only if GUI is to be opened (between \@GUI and \@ENDGUI)@{line} Options definitions@{line} Choices definitions@{line} Small (really small) example of script:@{line} C:MakeDir RAM:ENV RAM:T@{line} #ASSIGN ENV: RAM:ENV T: RAM:T@{line} C:IPrefs@{line} \@GUI@{line} #FONT Helvetica.font 11@{line} \@ENDGUI@{line} &CHECKBOX Mount PC0:@{line} C:Mount PC0:@{line} \@CHOICE Workbench@{line} 1@{line} C:ConClip@{line} C:LoadWB@{line} \@CHOICE Shell@{line} 0@{line} NewShell WINDOW=CON:0/14 >NIL:@{line} \@END@{line} Here you can write anything, BetterStartup will ignore it@{line} For much better example click @{"here" link "Sample.script/main"}@{line} @endnode @node keywords "Keywords" @{b}Keywords@{ub}@{line} All keywords are case sensitive. There is just small number of keywords. Look at them now:@{line} @{b}\@END@{ub} Anything behind this keyword is ignored.@{line} @{b}\@GUI@{ub} This keyword starts the part that will be processed only in the@{line} the case GUI is to be opened.@{line} @{b}\@ENDGUI@{ub} This keyword ends the part started by the previous keyword@{line} @{b}\@CHOICE@{ub} This is very important keyword and there has to be at least one@{line} in every script. It defines choice and has the folowing@{line} structure:@{line} \@CHOICE Name@{line} Options settings@{line} Command1@{line} Command2@{line} ...@{line} The keyword \@CHOICE has to be alone on the line. Name specifies@{line} the text that will appear on the button. Options settings@{line} specifies presets of options for this choice. E.g. for each@{line} CheckBox there is 1 or 0 (whether CheckBox is to be checked or@{line} not). Commands are the AmigaDOS/internal commands that will be@{line} processed in the case this choice is to be processed. The end of@{line} choice definition is recognized by another keyword (even@{line} \@ENDGUI).@{line} The order of Options settings is equivalent to options@{line} definitions in the script.@{line} Small example of choice definition:@{line} \@CHOICE Workbench@{line} 1 1 1 0 1 0 1@{line} #ASSIGNADD FONTS: SYS:Intellifont@{line} SetEnv Language "english"@{line} SetEnv Workbench $Workbench@{line} SetEnv Kickstart $Kickstart@{line} C:ConClip@{line} C:LoadWB@{line} \@CHOICE Shell@{line} ...@{line} All keywords that begins with @{b}&@{ub} are option definitions. All options are processed before the choice is processed, doesn't matter of the position in the script. Here are descriptions of already built-in option types:@{line} @{b}&CHECKBOX@{ub} This keyword makes simple boolean option. If it will be processed@{line} or not depends on the boolean state (yes/no). Defined preset to@{line} appear in choices definitions are 1/0 (yes/no)@{line} CheckBox definition looks like:@{line} &CHECKBOX Name@{line} Command1@{line} Command2@{line} ...@{line} Keyword &CHECKBOX has to be alone on the line without any space@{line} behind it. Name is the text that will appear next to CheckBox@{line} gadget. Commands are AmigaDOS/internal commands that will be@{line} processed in the case CheckBox was set. CheckBox definition end@{line} is recognized by keyword instead of command.@{line} Small sample of CheckBox definition:@{line} &CHECKBOX Magic Menu@{line} #PATCHOGP@{line} SYS:Tools/Commodities/MagicMenu@{line} &CHECKBOX KingCON@{line} ...@{line} @endnode @node icommands "Internal commands" @{b}Internal commands@{ub}@{line} All internal commands are case sensitive. All of the internal commands that have no arguments must be followed by (10 ASCII), no spaces there.@{line} Number arguments @{b}/N@{ub} can be decimal or hexadecimal numbers (unlike AmigaDOS /N) - 0xA and 10 are the same numbers. Arguments described here have names, but they don't in the real program. So don't write@{line} #FONT fontname=Helvetica.font size=11,@{line} write only@{line} #FONT Helvetica.font 11@{line} Internal commands are split into several categories:@{line} @{" GUI commands " link guicommands}@{line} @{" Misc " link misccommands}@{line} Built-in utilities and patches:@{line} @{" OneAssign " link oneassign}@{line} @{" OneFont " link onefont}@{line} @{" OnePromote " link onepromote}@{line} @{" OneReq " link onereq}@{line} @{" Others " link othercommands}@{line} Here is list of examples of all implemented internal commands:@{line} #FONT Times.font 11@{line} #SCREENMODE 0x99004@{line} #NOFRAMES@{line} #CCOLUMNS 2@{line} #OCOLUMNS 3@{line} #CD Sys:Tools@{line} #MAKEDIR "RAM:my directory"@{line} #ASSIGN T: RAM:T LIBS: SYS: Libs ADD LIBS: SYS:Classes@{line} #ASSIGNPATH FloppyDisk: DF0:@{line} #ONEFONTNAME XEN.font@{line} #ONEFONTEXCEPTS Asm-One Imagine@{line} #ONEFONTEXCEPTSFONT DarkParticle.font@{line} #ONEFONT@{line} #TARGETMODE 0x91000@{line} #PROMOTEMODES 0x0 0x11000, 0x21000@{line} #PROMOTEEXCEPTS Workbench - OctaMED 0x99004@{line} #NOSCREENCENTRING@{line} #ONEPROMOTE@{line} #ONEREQ@{line} #VGAONLY@{line} #SETTDRETRY 1 0@{line} #PATCHOGP@{line} @endnode @node guicommands "Internal commands of BetterStartup GUI importance" These internal commands changes the look of BetterStartup GUI. They are recommended to be inserted between \@GUI and \@ENDGUI keywords, there is no sense to put them into choice or option definition.@{line} @{b}#FONT@{ub} This command sets the font to be used by BetterStartup GUI. The@{line} default is Workbench screen text font but you can choose any@{line} other.@{line} Arguments are:@{line} fontname/K/A, size/N@{line} fontname has to be full name including @{b}.font@{ub} suffix.@{line} default size is same as of default font@{line} @{b}#SCREENMODE@{ub} This command sets the screenmode for BetterStartup GUI. The@{line} default is default mode (mostly PAL or NTSC). Argument is:@{line} modeid/N/A@{line} modeid is number of screenmode (look at include files for them)@{line} @{b}#NOFRAMES@{ub} If this command is present the frames around choices and@{line} options will not be drawn (and choices and options will be@{line} nearer to each other). No arguments.@{line} @{b}#CCOLUMNS@{ub} This command sets the number of columns for layouting choices@{line} (default is 1). Argument is:@{line} no_of_columns/N/A@{line} @{b}#OCOLUMNS@{ub} This command sets the number of columns for layouting options@{line} (default is 1) Argument is:@{line} no_of_columns/N/A @endnode @node misccommands "Misc commands" This part covers the commands that have no other place to be:@{line} @{b}#CD@{ub} This is BetterStartup version of AmigaDOS Cd command. Why is it here@{line} present? Well because of practical reasons. AmigaDOS Cd command@{line} works fine in Shell and AmigaDOS scripts, but not executables. And@{line} some programs requires to be in their home directory when run@{line} (e.g. Imagine). So instead of writting:@{line} Cd Work:Imagine@{line} Imagine@{line} write in BetterStartup's script:@{line} #CD Work:Imagine@{line} Imagine@{line} So hopefully you understand, that argument is:@{line} dir/K/A@{line} @{b}#MAKEDIR@{ub} This is replacement of AmigaDOS MakeDir command. Well it's in@{line} the program just because it is a feature of @{"OneAssign" link oneassign}, but I@{line} made it public so you can use alone also. The advantage of this@{line} version is that it can create full path of directories, not just@{line} one directory like AmigaDOS MakeDir. Template:@{line} dir/K/M/A@{line} Example: #MAKEDIR RAM:first/second/third@{line} @endnode @node oneassign "OneAssign" @{b}OneAssign@{ub} could be known to some people because of appearance on Aminet. It is AmigaDOS Assign command replacement which I made because there was about 30 calls of Assign in my startup-sequence and it took quite a lot of time. Advantage of OneAssign present in BetterStartup is that you don't have to own assembler to make it work (and recompile it everytime you change something). The command is:@{line} @{b}#ASSIGN@{ub}@{line} Now to the template - it's not simple, it could be written like:@{line} (TYPE/K,NAME/K/A,TARGET/K/A)/M@{line} That means that you can make several assigns using only one command. If no TYPE specified for NAME and TARGET, then TYPE of previous "group" used. There are four TYPEs:@{line} @{b}NORMAL@{ub} - normal assign, default at the begining@{line} @{b}ADD@{ub} - adds new target to already existing name@{line} @{b}LATE@{ub} - the assign will be created when prompted for it the first time@{line} @{b}PATH@{ub} - the assign will remember the path instead of lock, like DF0:@{line} One more advantage: if TARGET does not exists and it can be created (meaning e.g. volume name is not invalid) OneAssign will create it. So e.g. instead of:@{line} IF EXISTS RAM:T@{line} Delete RAM:T ALL >NIL:@{line} ENDIF@{line} MakeDir RAM:T@{line} Assign T: RAM:T@{line} you can write just:@{line} #ASSIGN T: RAM:T@{line} Delete T:#? ALL >NIL:@{line} See examples in @{"Sample.script" link sample.script/main}@{line} @endnode @node onefont "OneFont" @{b}OneFont@{ub} can be known to some people because it already exists on Aminet in separate form. It is utility for people that prefer some other font than the ugly topaz. OneFont will force all programs that try to open topaz to the new specified font (has to be size 8); it understand exceptions for programs like AsmOne that are directly reading character bitmaps and expect not only y size is 8 but x size also.@{line} diskfont.library is required for OneFont.@{line} @{b}#ONEFONTNAME@{ub} Specifies the name of new font. Favourites are thinpaz@{line} and XEN. Argument:@{line} fontname/K/A@{line} fontname - full name (including @{b}.font@{ub} suffix)@{line} @{b}#ONEFONTEXCEPTS@{ub} List of excepts - task names. They doesn't have to be full@{line} names, first 5 chars is usualy enough. They are case@{line} sensitive. You can get them in ARTM. Default: no exceptions.@{line} Arguments:@{line} tasknames/K/A/M@{line} The second appearance of this command overwrites the@{line} settings made by the first one (etc.).@{line} @{b}#ONEFONTEXCEPTSFONT@{ub} Specifies the name of the font to be given to programs@{line} that are recognized as excepts. Default: topaz.font.@{line} Argument:@{line} fontname/K/A@{line} fontname - full name (including @{b}.font@{ub} suffix)@{line} @{b}#ONEFONT@{ub} Patches libraries functions. Checks if it was not already@{line} done and if #ONEFONTNAME was given. No arguments.@{line} Problems:@{line} The problem is in excepts with gadtools.library. Gadgets' texts are written in excepts font, but first time gadget is selected it is rewritten into font specified by #ONEFONTNAME. This problem is probably non-removable.@{line} @endnode @node onepromote "OnePromote" @{b}OnePromote@{ub} is screen mode promotion utility with exceptions in under 800 bytes. It centers the screen on overlaced workbenchs, create autoscroll for big screens (640x512 screen in 640x480 Multiscan) and forces new look (to programs like AsmOne). It will get BestModeID with graphics.library 39+ (it works also on 37 and 38 systems, just it doesn't ask for best mode).@{line} @{b}#TARGETMODE@{ub} Destination mode for promoting (mode that are to be@{line} promoted will get this mode instead of the one it wanted).@{line} Default: default monitor (usualy PAL or NTSC). Argument:@{line} modeid/N/A@{line} modeid - id number of screen mode (look into include files).@{line} @{b}#PROMOTEMODES@{ub} Source modes for promoting (these modes will be promoted@{line} into the mode specified by #TARGETMODE. Default: none,@{line} means no mode patching, just centring and forcing autoscroll@{line} and new look. Arguments:@{line} modeid/N/A/M@{line} modeid - list of screen modes ids (look into include files).@{line} The second appearance of this command overwrites the@{line} settings made by the first one (etc.).@{line} @{b}#PROMOTEEXCEPTS@{ub} List of exceptions of OnePromote. Default: no excepts.@{line} Arguments:@{line} (screenname/K/A, mode/K/A)/M@{line} screenname - name of screen (Title or PubName)@{line} mode - or modeid for specified screen (=mode/N/A)@{line} or '-' for no patching at all (including screen@{line} centring, newlook, autoscroll etc.)@{line} The second appearance of this command overwrites the@{line} settings made by the first one (etc.).@{line} @{b}#NOSCREENCENTRING@{ub} Turns x coordinate screen centring off (default: on). No@{line} arguments.@{line} @{b}#ONEPROMOTE@{ub} Patches the system functions - turns OnePromote on. No@{line} arguments.@{line} Problem: I recommend you in any case you use OnePromote to use the exception @{b}'Workbench -'@{ub} or you can get badly surprised.@{line} @endnode @node onereq "OneReq" @{b}OneReq@{ub} is memory saving utility for fans of RTPatch or ReqChange. It patches system in the way asl.library is opened at the moment it is @{i}really@{ui} needed, not at the moment programs call OpenLibrary( 'asl.library', 37L). This way you can save about 39kB (with 39+ version of asl.library - it is 40kB long).@{line} There is no similar patch for req.library or arp.library because I didn't find any application that calls only requester functions from these libraries, so they would get into memory anyway.@{line} _asl.library is recommended for use with OneReq. Without _asl.library you don't save one byte but waste about 200 bytes, anyway everything works OK. _asl.library is included in BetterStartup archive.@{line} It is recommended to start OneReq before RTPatch or ReqChange.@{line} @{b}#ONEREQ@{ub} Patches the system - starts OneReq. No arguments @endnode @node othercommands "Other built-in utilities" @{b}#VGAONLY@{ub} Commodore's utility is included here. It's just 40 bytes long@{line} so it's 5 times shorter than VGAOnly v40 and 78 times shorter@{line} than VGAOnly v39. No arguments@{line} @{b}#SETTDRETRY@{ub} Known program from Aminet is here - it will set the retry count@{line} of DF0:, DF1: etc. to specified value. Favourite value is 1 to@{line} speed up other than AmigaDOS format disks access. Try@{line} #SETTDRETRY 0, mount CrossDos and insert MS-DOS DD floppy into@{line} DF0: - you will see nice surprise. Arguments:@{line} retrycount/N/A, units/N/M/A@{line} retrycount - how many times to retry the disk@{line} units - numbers of units (0 for DF0:, 1 for DF1: ...)@{line} @{b}#PATCHOGP@{ub} Patches system functions to make MagicMenu coexists peacefully@{line} with other BOOPSI gadgets - MagicMenu sometimes gets into@{line} deadlock that they can end after specified time interval - the@{line} disadvantage is that after this interval also normal menu@{line} without moving will disappear, so setting it into 1 second is@{line} not of use. This patch peacefully tests the thing causing the@{line} deadlock to low deadlock possibility to minimum. No arguments. @endnode @node notes "Notes" @{b}Notes@{ub}@{line} This part is dedicated just for some notes author wanted to write into documentation. You can find usefull information in it but it can be also worthless.@{line} Maybe some of you know my older things - OneAssign and OneFont. Well I got only 1 postcard! What a shame. That was also the reason why I made BetterStartup crippled shareware. Of course the boy who have sent me the postcard for OneAssign gets the keyfile for free.@{line} Maybe you can also get free keyfile. If you find yourself below, just write me. Free keyfiles via Internet only (of course).@{line} Rob Hardy - for being the only one to send me postcard@{line} Urban M ller - for Xpk and running Aminet@{line} Roman Patzner - for RomIcons@{line} Trevor Moriss - for Pattern9 from MagicWBStuff3@{line} Martin Kornd rfer - for MagicMenu@{line} Federico Giannici - for CycleToMenu@{line} Nico Francois - for ReqTools and ToolsDaemon@{line} Magnus Holmgren - for ReqChange (not registered yet, sorry)@{line} Michael Berg - for PowerCache@{line} John Veldthuis - for VirusChecker (not registered, let's swap keyfiles ;-)@{line} Christoph Feck - for JFIF datatype@{line} Stefan Stuntz - for MUI (not registered, sorry, let's swap keyfiles ;-)@{line} Georg He mann - for PasTeX@{line} If you made something nice and you think it would be of use for me (well maybe I'm already using it, just I deleted documnetation, so I don't know your name so I couldn't write it here) try to contact me also. Maybe you'll be lucky.@{line} I have no idea when the next release will appear. I released BetterStartup because it's working very good now and because other works are ahead of me, so you can already use it even without GUI editor. This editor is the next thing I'll do for BetterStartup, but before that I have to pass few exams at school and write Forth interpretter for PC. Then I'll start work on GUI editor. Maybe someone will write such a tool for BetterStartup before I will, but my one will appear for sure. I've got an idea and you can look at this @{"idea" link "BetterStartupPrefs.ilbm/main"}.@{line} Things called BetterClasses will be developped for GUI editor. This will include e.g. pages gadget. They will be also released in separated archive with full programmer documentation, examples and few of them also sources. They will be completely free.@{line} @endnode @node credits "Credits" @{b}Credits@{ub}@{line} I want to thank to these people:@{line} Rudolf Kudla and Zdenek Kabelac for being my beta testers, for their ideas and for being my very good friends.@{line} S. Koszewski for SetTDRetry that he made in 1994 and released with the source (so it was easier to understand for me and to port into BetterStartup)@{line} Osma Ahvenlampi for ObtainGIRPort that I added as a feature to BetterStartup.@{line} Nico Francois for his fantastic reqtools.library - that's the reason why I made OneReq. Anyway all my programs will call asl.library and everybody can use RTPatch or ReqChange same as I do. @endnode @node history "History of BetterStartup" @{b}History@{ub}@{line} 1.0 (37.204, 5th April 1995)@{line} - first public release@{line} @endnode @node future "Future of BetterStartup" @{b}Future@{ub}@{line} Well I've got some ideas and I will deeply think about all the ideas registered users send me. I will think about some ideas from mails of people not-registered yet, but to be nearly sure I will implement the thing you want you have to register. I will often reply to Internet mails from registered users and I will select up to five of them I will discuss every idea I get from other mails. If you want to be one of them just write to me.@{line} The ideas that are on my mind now:@{line} - GUI editor for scripts@{line} - more options gadgets (cycle gadget soon, other later)@{line} - some more internal utilities and patches (I think about PatchPointer and BootScreen now, write me your ideas about these two and also any others)@{line} - possibility of structured menu (you select a choice and new page with new options and choices appears)@{line} - well this is exactly up to registered users: there is no control task (commodity or so) for patches. I can add one (it will be a piece of work I can spend on more interesting features), but it will rapidly enlarge the program length. So if enough mails from registered users comes to me that they want it I will put it there@{line} - more settings for OnePromote (NewLook, AutoScroll) just like #NOSCREENCENTRING can switch off one feature already - write me if you want it, I'm satisfied with it now, I don't switch it off. @endnode @node author "BetterStartup's author" @{b}Author information@{ub}@{line} You can reach me via Internet e-mail or snail mail. Don't expect I will reply to your snail mail if you are not registering right in the moment or you don't send money to cover the postage.@{line} Addresses:@{line} E-mail one@risc.upol.cz@{line} skypalaj@infnw.upol.cz@{line} Snail mail: Jan Skypala@{line} Zasovska 730@{line} Valasske Mezirici@{line} 757 01@{line} Czech Republic@{line} If you have access to WorldWideWeb you can also look at my homepage. There is also one page completely dedicated to BetterStartup so you can get information about its development from there. The address is: http://phoenix.upol.cz/~one @endnode